package cn.stylefeng.guns.modular.rw.entity;

import cn.hutool.core.util.IdUtil;
import cn.stylefeng.guns.base.auth.context.LoginContextHolder;
import cn.stylefeng.guns.base.auth.model.LoginUser;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 描述：banner背景图表
 * 作者：chenhuiyan
 * 时间：2020-05-04
 */
@Data
@TableName("rw_banner")
public class Banner implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 编号
     */
    @TableId(value = "id")
    private String id;

    /**
     * 图片编号
     */
    @TableField(value = "image_id")
    private String imageId;

    /**
     * 类型（0首页视频区banner，1品牌理念banner，2企业资讯banner，3招商加盟banner，4关于我们
     */
    private Integer type;


    /**
     * 创建时间
     */
    @TableField(value = "create_date")
    private Date createDate;

    /**
     * 创建者
     */
    @TableField(value = "create_by")
    private String createBy;

    /**
     * 更新时间
     */
    @TableField(value = "update_date")
    private Date updateDate;

    /**
     * 更新者
     */
    @TableField(value = "update_by")
    private String updateBy;

    /**
     * 添加数据时调用该方法生成
     */
    public void preInsert(){
        LoginUser loginUser = LoginContextHolder.getContext().getUser();
        this.setId(IdUtil.simpleUUID());
        this.setCreateDate(new Date());
        this.setUpdateDate(new Date());
        if(loginUser != null){
            this.setCreateBy(loginUser.getId() + "");
            this.setUpdateBy(loginUser.getId() + "");
        }
    }

    /**
     * 更新数据时调用该方法生成
     */
    public void preUpdate(){
        LoginUser loginUser = LoginContextHolder.getContext().getUser();
        this.setUpdateDate(new Date());
        if(loginUser != null){
            this.setUpdateBy(loginUser.getId() + "");
        }
    }

}
